Enterprise applications are constructed out of many interacting modules and functions that work together to enable a business to be more competitive in the market place. To accomplish this, enterprise applications depend on reference data and business data that are stored and persisted in a relational database system. By persisted, it is meant that the data is stored and maintained throughout the system so that those who use the system have access to all the data throughout the system. To maintain a properly functioning enterprise system then, it is crucial to keep track of changes to this data.
To keep track of the changes to this data, in virtually any enterprise application, an audit trail is maintained. In the context of an enterprise system, an audit trail refers to tracking changes made to the enterprise data on an information system. Indeed, in some cases, an audit trail is mandatory to audit information and/or data to ensure compliance with the pertinent laws of corporate governance. However, in contemporary enterprise systems, indiscriminate use of an audit trail feature leads to degradation in the performance of that system, since the storage of a plethora of enterprise data usurps system resources. Moreover, it is difficult to solve this problem by venturing into enterprise application code to alter the data that is audited and persisted, for such ventures could cause unforeseen problems in the functionality of the application.